package com.zuipin.service;

import java.util.List;

import com.zuipin.entity.SysUnit;
import com.zuipin.framework.result.Result;
import com.zuipin.util.Pagination;
import com.zuipin.vo.UnitTreeNode;

/**
 * 组织部门service
 * 
 * @ClassName: ISysUnitService
 * @Description: TODO
 * @author robot
 * @date 2017年3月27日 上午10:48:01
 */
public interface ISysUnitService {
	/**
	 * 查询组织部门
	 * @Title: findById
	 * @author robot
	 * @date 2017年09月147日 09:21:08
	 * @param id,
	 * @return
	 * @return SysUnit
	 */
	public SysUnit findById(Integer id);
	
	/**
	 * 插入组织部门
	 * 
	 * @Title: insert
	 * @author robot
	 * @date 2017年09月147日 09:21:08
	 * @param sysUnit
	 * @return void
	 */
	public void insert(SysUnit sysUnit);
	
	/**
	 * 更新组织部门
	 * 
	 * @Title: update
	 * @author robot
	 * @date 2017年09月147日 09:21:08
	 * @param sysUnit
	 * @return void
	 */
	public void update(SysUnit sysUnit);
	
	/**
	 * 删除组织部门
	 * @Title: delete
	 * @author robot
	 * @date 2017年09月147日 09:21:08
	 * @param id,
	 * @return void
	 */
	public void delete(Integer id);
	
	/**
	 * 搜索组织部门
	  *  @Title: seachSysUnit
	  * @author robot
	  * @date 2017年09月147日 09:21:08
	  * @param sysUnit
	  * @param page
	  * @return
	  * @return List<SysUnit>
	 */
	public List<SysUnit> seachSysUnit(SysUnit sysUnit, Pagination page);
	
	public Result<SysUnit> saveOrUpdateUnit(SysUnit sysUnit);
	
	/**
	 * 获取组织  树列表
	 * @author zhuangjiajian
	 * @date 2017-9-23 14:29:23
	 * @return
	 */
	public List<UnitTreeNode> getSysUnitTree(Integer unitStatus);
	
	/**
	 * 查询组织信息
	 * @author zhuangjiajian
	 * @date 2017-9-23 16:34:06
	 * @param sysUnit
	 * @param page
	 * @return
	 */
	public List<SysUnit> searchSysUnit(SysUnit sysUnit, Pagination page);
	
	/**
	  *  更新组织部门操作(remark如果为空也更新)
	  * @author zhuangjiajian
	  * @date 2017年09月147日 09:21:08
	  * @param sysUnit
	  * @return void
	 */
	public int updateSysUnit(SysUnit sysUnit);
	
}
